Centralized traffic control system for railroads

ABSTRACT

A centralized traffic control system for governing from a central office a plurality of groups of track switches and signals which are disposed along a stretch of railway track. At the central office, a plurality of switch means designates a selected control for any switch or signal in any selected group. Also, an indication storage means is provided at the central office which is responsive to the conditions of the track switches and signals at each of the field stations and also responds to indicate the occupancy of the associated trackway. The indication storage means may drive a cathode ray tube display. An electonic digital computer is also provided which includes means for storing a program comprising a plurality of sub-routines each of which is associated with a corresponding one of the groups of switches and signals, also known as field stations. When a particular control is designated at the central office for any selected one of the field stations, the particular sub-routine of the program which is associated with that particular field station is selected, and thereafter, on successive steps of the sub-routine, selected ones of the indications are interrogated in order to make possible a final determination as to whether the designated control is a permissible control. If the designated control is permissible, a code is transmitted to the selected field station to effect that control and thereafter an indication is transmitted back to the central office indicating that the control has become effective.

United States Patent [191 Clarke et al.

[ Sept. 17, 1974 CENTRALIZED TRAFFIC CONTROL SYSTEM FOR RAILROADS [75] inventors: James A. Clarke, Hilton; John J.

Jacobus, Rochester; Eric Peter Lager, Honeoye Falls. all of NY.

[73] Assignee: General Signal Corporation,

Rochester, NY.

[22] Filed: Sept. 22, 1972 [2|] Appl. No; 291,519

Primary ExaminerM. Henson Wood, Jr.

Assistant ExaminerGeorge H. Libman Attorney, Agent, or Firm-Pollock, Philpitt 8L Vande Sande [57] ABSTRACT A centralized traffic control system for governing from a central office a plurality of groups of track switches and signals which are disposed along a stretch of railway track. At the central office, a plurality of switch means designates a selected control for any switch or signal in any selected group. Also, an indication storage means is provided at the central office which is responsive to the conditions of the track switches and signals at each of the field stations and also responds to indicate the occupancy of the associated trackway. The indication storage means may drive a cathode ray tube display. An electonic digital computer is also provided which includes means for storing a program comprising a plurality of subroutines each of which is associated with a corresponding one of the groups of switches and signals, also known as field stations. When a particular control is designated at the central office for any selected one of the field stations, the particular sub-routine of the program which is associated with that particular field station is selected, and thereafter, on successive steps of the sub-routine, selected ones of the indications are interrogated in order to make possible a final determination as to whether the designated control is a permissible control. If the designated control is permissible, a code is transmitted to the selected field station to effect that control and thereafter an indication is transmitted back to the central office indicating that the control has become effective.

10 Claims, 22 Drawing Figures PATENTEB 3. 836.768

SHlU 1 [1F 8 PAIENIIZIJ I U974 3. 836.768

FII'IQEI l [IF 8 FIG. 6A.

Indication File A dress Contents ilvw'onfit 2 3 4 5 6 7 8 9 IO ll l2 i3 I4 I5 I6 I? I8 I9 20 2| 4O NK RK TK LK MsKeA GK POK NBKSABKSBBK 4 NK FIK TK Lxiiasasnsx GK POK NBKSABKSBBK 42 INK IRKZNK 2Ri ITK ZTK LK IGK 26K POKIWASSK g gi 8;, 2; E? 'm 3 6 FIG. 68. Control File iidaress Contents l 2 5 4 5 e 7 s 9 IO II l2 I3 I4 l5 I6 I? I8 I9 40 Location Address WN WR 6N GS GB '82 4| Location Address WN WR 6" G5 G3 '62 gi t 42 Location Address WIN WIR om GIS GIB wan wee can e25 625 .S 61% 3,? 35,;

7?5 ResetMmnmme' 229- ResetMaintainer Cali Oft Cali CaII On Call I Set Maintainer Set Maintainer 226\- CaII On Call CalIOffCall I I p ResetMoi ta e 23l\ Reset Maintainer 27\- CalIOn PBFlaq CallOft PBFIaq 22 Return I FIG. 7A.

Maintainer CaII I Return I FIG. 7B.

PlllENlEll l 1974 filllEl 5 0i 8 FIG. 7 H. Switch lsorresgonaence Set Deloyed Code Start Request Reset South Sig nol Coll Set North Signal Coll Reset North 4 Signal Coll 1 Signal Call 306 Set Signal Stop 00 ll Reset North Slqnol Call 307 l Reset Code Set South Stort Request Reset Siqno I -3OO Stop Coll Reset Delayed Code Start Request FlG.7C.

'JWllCl'l Reverse PB Reset Switch Normal Coll Set Switch Reverse Call I I l Reset Switch Reverse PB Flog Siqnolpall 308 Return 3 FIG. 70.

witch Reset Switch Reverse Call Set Switch Normal Coll Reset Switch Normal PB Flog WU 5 UP 8 FIG. 7E.

50 11h Siqno A Requeste P 5 Switch 4| Yes ColledNormo Set 4| North I Signal Request Re set Signal ,4

log

North P8 A Revurn 25 Reset 40-41 Monm i f? 13;? Traffic SouTh l r SET 40'4I Siding Se? 4041 Main Traffic North 243 Traffic North 53 PATENIEU 55F I 71974 3. 838. 768

SHEET 7 BF 8 V 15 Yes 254 Track 4! g A M Signal South P8 Is 255 4|42Tr0cn Yes A Blo zne 4l-42Trnffl Yes So'nh Y 4: SouPh 21mm Yes Block Occupied 421Tr ack Yes A Occup|ed 422Swn NO Revsrs Yes 2'2 Troc Yes CCEDIE I equeste 262 IS 42'2 SwiYCh Ccllled s 4 Yes '9 A r n A 267 5 Yes 61:?12? Reset 4l-42 /272 urgn Truffle North 275 et 4l-42 27o Is l rufficSouth 42'! Nwtn Yes l Signal A i 2 equeste SET 4| South 1 Seqnal Request R is I 275 Yes 658 lqno A ph A South PB Flog Sfg ck CENTRALIZED TRAFFIC CONTROL SYSTEM FOR RAILROADS BACKGROUND OF THE INVENTION Centralized traffic control systems for railroads are well-known in the art. Such systems provide for the control of the switches and signals at any selected one of a plurality of field stations located along a stretch of railroad track. The central office includes not only a plurality of levers and switches for designating a particular control at any selected one of the field stations, but also comprises indication means for designating visually the status at each moment of each of the various switches and signals at the various field stations as well as indicating those track sections along the trackway which are at any time occupied by a train.

In order to control the movement of trains over the trackway by the centralized traffic control system, it is only necessary for the operators of the system to observe visually on the display means the progress of the trains over the trackway and then to operate the various switches and signals at the field stations from the central office to route the traffic in the desired manner. This is accomplished by the transmission of distinctive control codes from the central office to a designated field station and the return transmission from the field station to the central office of indication codes representative of the operated conditions of the track switches and signals as well as the occupancy condition of the various track sections.

In general, matters of vital safety in relation to the control of train movements are not involved in the display of indications at the central office, the sending of controls from the central office to the field stations, and the receipt of indications from the field stations at the central office. In other words, the communications links for the transmission of controls and indications and the display of such indications involve entirely nonvital circuitry, whereas those circuits in the overall system which do involve matters of vital safety are located at the various field stations. As a consequence, the design of the overall system is such that it is impossible for an operator to have executed an unsafe control at the field stations since appropriate interlocks are provided at the various field stations to guard against this. Nevertheless transmission if impermissible controls will certainly result in inefficient and wasteful operation of the system and thus the transmission of such controls is to be avoided to the extent practicable.

The transmission of controls, the receipt of indications, and the display of the indications do necessarily involve considerable complexity of apparatus, particularly at the central office. In the past, it has been common to provide a single display panel on which appears the track layout for the entire system, and when the control system is one which governs the operation of perhaps one or two hundred miles of track, it will be appreciated that the display board is in itself of substantial size. Also, the complexities of properly wiring such a board so as to provide all of its various indications are quite considerable. Furthermore, even though matters of vital safety are protected by the circuitry at the field stations, it is still necessary to provide a circuit organization at the central office which will guard against the sending of an impermissible control. in addition, the receipt of indication codes, their decoding, and the control of the displayed indications introduces a great amount of complexity into the system.

For these reasons, and because of the advent of highspeed electronic computers, it has become desirable to provide a centralized traffic control system for railroads which makes use of the advantages provided by digital electronic computers which not only simplify the apparatus to perform the tasks previously provided by hard-wired relay circuitry, but also makes possible the inclusion of additional desirable functions for the system.

SUMMARY OF THE INVENTION The present invention provides a centralized traffic control system wherein electronic digital computer techniques are provided in connection with the transmission of controls from central office to field stations, the receipt of indications from the field stations, and the display of indications on a visual display means. The present invention contemplates that, instead of providing an elongated display panel on which is displayed the conditions of the entire stretch of railway track in question, there will be provided for an operator instead a plurality of cathode ray tube displays, at least one of which will indicate the general layout of the tracltway for the system and will thus constitute, in effect, a fixed display, while a further cathode ray tube displays thereon the layout of the trackway and the location of the switches and signals for a particular siding, or even more particularly for a particular end of a designated siding. Associated with the cathode ray tubes is a keyboard on which the operator may designate that particular siding or siding end which he wishes to view at any time. Upon appropriate actuation of the keys, the electronic computer apparatus of the invention will retrieve from a memory the desired display to appear on the cathode ray tube, and distinctive indications will be provided on such tube to indicate not only the operated conditions of the track switches and signals at the particular called-for location but also the occupancy of the track section or sections which are associated with that siding.

The apparatus of this invention also provides that, through the use of electronic computer techniques, the permissibility of a designated control will be checked prior to transmission thereof to a designated field station. More particularly, the storage apparatus associated with the electronic computer will store therein a plurality of decision tables, each of which is associated with a particular field station. When the operator designates a particular field station as the intended recipient of a control for a switch, signal, or the like, the decision table appropriate to that particular designated field station will then be designated, such sub-routine being the one which is peculiar to the particular switch or signal which is to be operated. After having been called up in this particular manner, the various steps of that subroutine are then made effective, one at a time, and on selected ones of these sub-routine steps of the particular indications which are relevant to the transmission of the designated control will be interrogated so as to make possible the final determination as to whether the designated control is permissible or is not permissible. Thus, it will be readily appreciated that prior to the transmission of a control to, for example, a particular track signal, it will be necessary to interrogate vaious preselected addresses of a memory wherein there is stored data relating to the up-to-date conditions of various corresponding track switches and signals, etc., in order to permit a determination as to whether the control then intended for transmission is a permissible control.

It is further contemplated by this invention that, at times, each field station will be interrogated and an indication will be transmitted from such interrogated field station back to the central office. It is further contemplated that such received indication code will be checked with the information then already stored in the indication storage means of the computer to determine whether any change in the indication has taken place. Upon the detection of such a change, an appropriate processing will take place so that ifa display of that location is called for it will indicate up-to-date information.

It is further possible by means of the present invention to provide additional data regarding train opera tion which information is useful in the operation of the railroad and which information is, by means of the prior art systems, either not readily available or available only with the expenditure of considerable extra amounts of equipment. Thus, it is readily possible to provide in the program which operates the electronic computer means one or more predetermined subroutines which can be effective, for example, to record the frequency of train movements, the times at which trains pass preselected locations along the trackway, the headway between trains, etc.

It is also possible by means of the apparatus of this invention to provide for the storage of train identity information, which identity information can, if desired, also be displayed on the cathode ray tube available to the operator.

BRIEF DESCRIPTION OF THE DRAWINGS In describing the invention, reference will be made to the accompanying drawings in which:

FIG. 1 is a perspective drawing of a typical operators console;

FIG. 2 illustrates the various keys on the keyboard comprising a part of the apparatus of FIG. 1',

FIG. 3 is an enlarged view of the three cathode ray tube displays which are made available to the system operator;

FIG. 4 is a general block diagram of the apparatus of the invention;

FIG. 5 is a flow chart for the centralized traffic control system program routine of this invention;

FIG. 6A is a representation of a portion of the indication file;

FIG. 6B is a representation of a portion of the control file;

FIGS. 7A and 7B are, respectively, flow charts of the maintainer call on and off routines of the decision table;

FIGS. 7C and 7D are, respectively, flow charts ofthe switch reverse and switch normal routines of the decision table;

FIGS. 7E and 7F are, respectively, flow charts of the signal north and signal south PB routines of the decision table;

FIG. 70 is a flow chart of the signal stop PB routine of the decision table;

FIG. 7H is a flow chart of the switch correspondence routine of the decision table;

FIG. 7] is a flow chart of the switch track occupancy indication change routine of the decision table;

FIG. 8 is a track plan for locations 40, 41 and 42',

FIG. 9A shows the different switch display configurations;

FIGS. 9B and 9C are respectively, displays for switch normal and switch reverse conditions;

FIG. 9D illustrates a signal cleared over a reversed switch with track occupancy and FIG. 9E is a flow chart for the display routine.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A typical operators console is shown in FIG. 1. This apparatus comprises a desk-like console 10 on whose upper surface are supported three separate viewing screens 12, 14, and 16, and a keyboard 18. An operator positioned at the console has displayed before him on the viewing screens 12 and 16 a visual display of the entire trackway under his control together with indications concerning the presence of trains on the trackway. On the center display screen 14 is displayed an enlarged portion of the trackway, which enlarged portion may comprise, for example, a single siding or perhaps even only one end of a single siding. The particular trackway configuration displayed thereon corresponds to a preselected portion of the overall trackway displayed on the two outlying screens 12 and 16. The portion which is to be shown in greatly enlarged form on the center screen 14 is selected by the operator by appropriate designation on the keyboard 18. Thus, when the operator designates a particular siding or end of a siding to be displayed on the center panel 14, he may call up such display and there will then be displayed on the center screen 14 not only the track configuration but also the locations and conditions of the switches and signals associated therewith as well as the occupancy conditions of the associated track sections.

A detailed illustration of the arrangement of the keyboard 18 of FIG. I is shown in FIG. 2. Thus, a plurality of keys is illustrated much in the manner of a typewriter keyboard except that the key layout is different from that of a standard typewriter. In any event, it will be noted that the key at the right-hand side and at the topmost row is designated as LOC. In the next lower row of keys is provided a series of keys for each of the ten digits from zero through nine. The row of keys just mentioned is used in combination with the LOC key 20 in the following manner. Thus, assuming that the operator wishes to transmit a particular control to a preselected one of the various field stations in the system, the operator will then first depress the numbered keys 1 through 0 in accordance with the field station or location to be selected. Assuming, as a specific example, that the operator wishes to send a switch reverse control to field station no. 41 in the system, the first step will be to depress the LOC key 20 and thereafter to depress the keys numbered 4 and l in that order in the topmost row of numbered keys.

Having designated a particular field station as the one which is to be displayed on tube 14 and to receive a control, the operator must then designate which particular control is to be effective. Assuming, for example, that the operator wishes to designate the no. 1 switch to be operated to the reverse condition at the alreadydesignated field station as described above he will depress key 30, designated 1R, which refers to a control for switch 1 at the designated field station to operate it to the reverse position. FIG. 3 shows that the center display unit 14 may be so arranged as to display thereon theconfiguration of the end only of a single siding, and it will be understood that this will generally involve only a single track switch. However, the system is not intended to be limited to this but, may instead be arranged so that the center display tube will display thereonan entire siding and/or one or more crossovers, etc. in which event a plurality of switches and signals will be displayed. It is for this reason that the second row of keys on the keyboard of FIG. 2 provides for thedesignation of switch normal and switch reverse controls to as many as five different switches. Of course, where only a single switch is involved as is particularlyshown in FIG. 3, then only the pair of keys 28 and 30 is required, key 28 upon actuation initiating a controlfor switch'l to be normal, and key 30 upon actuation initiating a control for switch 1 to be operated to thereverse condition.

lncludedalso in the second row of control keys are a-key26 which will designate that the snow-melting apparatus at'thefield station is to be placed into operation, and a further key 48 which designates at a selected "field station a maintainer call directing maintenance personnel to call in for instructions.

The third row of keys in FIG. 2 is provided for the control'of-the signals at afield station, and each of these keys 50, 52,34, 56 and 58 is associated with a pair of related keys in the next row below. Thus, key 50 designating thatsignal l is to be controlled to display a stopjndication is associated with keys 60 and 62. Thus, the three keys 50, 60 and 62, provide for the transmission of controls to signal '1 'to display, respectively, .a-stop indication, a clearing of signal 1 forieftboundwtraffic, and a clearing of signal 1 for right-bound traffic. Similar groupings of three keys are shown in FIG. 2, each one associated with a different signal.

Once the operator has designateda particular field station and a particular control to be sent to that field station, he must thereafter depress the start key 64 which has the functionof initiating the transmission of a distincitive code to the selected field station to implement thedesired control.

DETAILED DESCRIPTION OF FIG. 4

FIG. 4 shows in block diagram form control apparatus for an entire CTC system. The apparatus at the control office (enclosed in the dotted line 100) provides the capability of controlling each of aplurality of field stations in a CTC system, in this case, FSl-FSN.

Each of the field stations,FSl, PS2 FS'N, receives control signals, over the communication line wires 101 to control the respective switches and signals at that location in response to the received controlsignals. In addition, the field stations send indications to the central ot'fice,.again via communication line wires 101, in accordance with the actual operatedposition of switches and the condition of the signals at that location. Since applicant'sinvention is not directed to novel field station apparatus, no further description of the field station apparatuswillbe given here, and reference is made to US. Pat. 'No. 2,907,980 for a description of such a conventional field station.

The apparatus at the central office 100 can be broken down functionally into three subsystems. The first subsystem is ahuman-machine communication system,

the second is a control office-field station communication system, and the third is the decision making apparatus responsive to the other two subsystems to perform the necessary logical functions.

The human-machine communication subsystem comprises the CRT display 102 and the control keyboard 103, which is shown in more detail and explained with reference to FIG. 2. Control keyboard 103 may be a standard keyboard which converts depression of a key into electrical signals representative of that key. The signals generated by the control keyboard act as inputs to the logical apparatus of the third subsystem. In order for the human operator to control intelligently the apparatus in the field station through his operation of the control keyboard, he must have up-to-date information onthe condition of particular switches, signals, and location of the trains in the system. To inform the operator, the CRT display 102 is provided which is enabled to display the conditions at a particular location, when directed by proper operation of the controlkeyboard, through operation of the third subsystem which, in storing information about each location, is capable of controlling the CRT 102 to display the information from any selected location.

The second subsystem is a field station-central office communication system which is representedby code converter 104. This apparatus receives control signals as generated by the decision making subsystem, converts them for efficient transmission over communication wires 10] and for proper reception at the particular field stations. In addition to transmitting control signals from the third subsystem to the field station, the code converter also receives indication signals from these field stations and transmits them to the third subsystem, the logical apparatus.

The third subsystem, which has been termed the logical apparatus, has beenshown, for ease of representation, as a central processing unit 105 with its internal memory 106 and an additional bulk memory 107. The central processing unit 105 may be characterized as the hub of the entire system, receiving information from a number of devices with respect to desired controls, receiving field station indications, performing the necessary logical functions in order to generate the proper control signals, and properly storing the information received from the field stations so that it is retrievable. The central processing unit 105 performs all of these functions as directed by a program designed to direct it to respond properly and perform the necessary functions, which program will be described in detail later.

The central processing unit 105 and its internal memory 106 have been shown enclosed for the reason that they are generally manufactured, sold and used as a unit. Applicant had found that the Nova Computer Model 1200, manufactured by Data General Corp. is suitable for the present purposes. This is generally referred to as a "mini computer by reason of its word length of 16 bits. Other minicomputers could be used instead of the Nova and indeed, a full size computer, i.e. one whose word length is 32 bits and up, could be used instead. By reason of its limited internal memory 106, applicant finds it necessary to employ an auxiliary bulk memory 107. The particular Nova computer used by applicant has an internal memory composed of ferrite cores. This is not essential to applicants invention and other internal memories could be used, such as solid state memories. Furthermore. although the Nova computer has insufficient memory capacity in its internal memory to retain all information required to operate this system, other computers. having sufficient internal memory capacity, could be used, thus eliminating the necessity for bulk memory 107. For a description of the Nova computer employed by applicant, see A System Reference Manual for the Nova, published by Data General Corporation, Southboro, Mass, copyright 1970.

Each of the devices connected to the central processing unit I is treated by that unit as either input. output, or input/output. For instance. the keyboard is an input unit, the CRT display is an output unit, and the code converter and auxiliary bulk memory 107 are input/output units.

Before discussing the detailed description of the apparatus. it will be necessary to describe the program which directs the central processing unit in its operation.

DETAILED DESCRIPTION OF FIG. 5

FIG. 5 is a flow diagram for the portion of the program which responds to signals related to the operation ofthe CTC system itself, as opposed to basic computer operating and house keeping signals designed to enable the machine to coordinate its activities. Before discussing FIG. 5 in any detail, it will first be helpful if we consider how the computer memory is allocated, both the internal memory and the bulk memory and how the system generally operates.

The chart below illustrates that the internal memory of the computer is allocated to contain a number of tables and files, in addition to the program.

TABLE l INTERNAL M EMORY Program Sequence Indication Flag File Input File Digital Input Indication CTC Routine File Change File (FIG. 5]

Indication File Reserved for Answer (FIG. 6A) Decision Table Back (FIG. 7)

Control File Code Start (FIG. 68) File The program sequencer has reference to the operating system which will not be further described as it forms no part of applicants invention. The CTC routine is shown in FIG. 5. One of the files located in the internal memory is allocated to store at any time one of a plurality of decision tables. At this point it should be noted that a different decision table is provided for each field station. In order to conserve the internal memory ofthe computer and thus economize on the overall cost of the systems memory, all decision tables are located in the bulk memory. Only when a particular decision table is needed is it loaded into the internal memory of the machine from the bulk memory. Therefore, internal memory space need only be allocated for one such decision table.

Additional files in the internal memory are the digital input file, in which are placed the inputs received by the computer from the keyboard. Another file is the indication file, which is further illustrated in FIG. 6A.

In explaining FIG. 6A. reference should be made to FIG. 8 which illustrates a track plan for a portion of the right-of-way which is to be controlled from the control office. The vertical dotted lines in FIG. 8 denote the limits of the separate field stations. FIG. 8 thus shows three field stations 40, 41 and 42. Each of these field stations has a plurality of track signals and may have one or more track switches associated therewith. For each of these switches. signals. at various field stations. the computer must have available to it the current operational status of each device. and the indication file performs this function. i

FIG. 6A is divided into two halves. the left relating to the address and the right relating to the contents. As is well known. only the information in the right-hand portion is actually stored in the internal memory. Furthermore, the address in FIG. 6A, such as address 40. does not refer to an absolute address in the internal memory of the computer but merely refers to an address in the indication file in which is contained information related to field station 40. Each separate item corresponds to a bit of information. and is so stored. The particular bit address for each location is definitive of what the information represents. For instance. what is represented as bit 3 for field stations 40 and 41, (TK). is related to track occupancy. However. this same bit address for field station 42 relates to the normal position of switch number 2. Thus, a 1 in bit address 3 for either field sta' tions 40 or 41 would indicate that track location was occupied; conversely. the presence of a 0 would indicate the track was unoccupied. On the other hand, a l in the bit address 3 for field station 42 would indicate that switch 2 at field station 42 is in the full normal position; whereas, a 0 would indicate that the switch was not in the full normal position. Of course, the particular bit addresses for the particular items of information shown in FIG. 6A are merely examples. and the assignment of these bit locations and their representation can be varied in accordance with the operation of the particular computer shown. its internal memory, or the arrangement of information in the transmission system coupling the central office and the field stations.

Not only is the storage of indications an important function, but also any changes in the indications must be recognized and properly dealt with. Therefore, the indication information received from the field stations over the communication lines is not transmitted to the indication file immediately. Instead. the indication input is transmitted to an indication input file which is structured similarly to the file shown in FIG. 6A. One of the subroutines in the program compares the indication input file with the indication file and notes any indication changes; such changes are then stored in an indication change file. Of course, the indication file is then updated so as to represent the latest information. The indication change file. which registers those indications that have most recently changed, forms a further input to the CTC subroutine which will be discussed in more detail later.

A further file. allocated in the internal memory of the machine. is a control file. shown in Table 1 above. A further detailed showing of the control file bit allocations is shown in FIG. 6B which has many similar characteristics to FIG. 6A. Each address 40-42 refers to the field stations 40-42 shown for purposes of explanation in FIG. 8. In contrast to the indication file. the contents of the control file do contain the location address as shown in FIG. 6B. This enables the communication system to transmit the address of the field station to which the controls are directed prior to transmission of the control signals themselves. In addition, the control file stores controls which are to be transmitted to the respective field stations. For instance, WN refers to a control to operate the track switch to its normal condition, WR refers to a control for the switch to its reverse condition, GN refers to a control to clear the signal for northbound traffic, and GS refers to a control to clear the signal for southbound traffic, etc. Since location 42 is more complex than either location 40 or 41, we find that its control file makes provision for the control of two switches, W1 and W2, and also two signals, G1 and G2.

The remaining files in the internal memory to be discussed are the code start file, the flag file, and the answer back file. At the completion ofthe operators manipulation of the keyboard, in order to initiate the transmission of a control code to the field station, the operator must depress the code start button. However, prior to the actual transmission of the proper code, certain logical operations will have to take place. Therefore, in order to retain the indication that the operator has operated the code start button, a code start file is available to store the indication of a code start request along with the field station address to which the control is directed.

The flag file is another file for maintaining intermediate indications which are not yet fully processed. For instance, as will be explained below, prior to the transmission of a signal call, two logical operations have to take place. The first checks the propriety of the signal call against the conditions in the field related to traffic conditions. The second logical check is a track switch correspondence check, i.e. a check to determine, preparatory to the clearing of a wayside signal, that any associated track switch or switches are in the appropriate operated condition. One of the functions, therefore, of the flag file is to store the intermediate signal requests, after their propriety has been approved, but prior to the time switch correspondence has been checked. As will be seen during the explanation of the decision tables, when a switch request is made, and approved, it is then stored in the control file for transmission to the field. However, when a signal request is made, and its propriety is approved by the decision table routines shown in FIGS. 70 and F, it is stored in the flag file. Only when the switch correspondence has been checked and determined is the signal request transferred from the flag file to the control file for transmission to the field. The flag file can contain other information such as track blocking which is related to conditions in the field, but which is not received as an indication from the field station. Track blocking would be effected, for instance, if work was being done on a particular track section.

The answer back file is loaded under the particular conditions defined below. When a signal request cannot be translated into a signal call due to lack of switch correspondence, this is noted in the code start file by clearing the code start request and setting a delayed code start request. In order for the program to determine whether or not any such signal requests are resident in the flag file, when an indication change is received which is related to switch position, the code start file is checked to see if a delayed code start request is pending. If it is, then the location number is inserted in the answer back file. This indicates that the flag file should be checked for a signal request for that location and switch correspondence should again be checked to see if the signal request can be translated from a signal request to a signal call for transmission to the field.

In addition to the files previously mentioned, there are other miscellaneous files which are related to functions which it is not believed necessary to describe in detail. Some of these relate to internal record keeping for the computer; others may relate to other functions which may be implemented as a consequence of the information available to the computer, but not directly concerned with control of the operations of switches, signals and the like. In the latter category, a management information system may be included in the computer program so as to print out train locations at vari ous times, train identification numbers, etc., which may be useful in determining how efficiently the railroad is being run. Inasmuch as such a management information subsystem forms no part of applicant's invention, it will not be further described here.

Now that the allocation of the different files and tables in the internal memory has been discussed, and the structure of some ofthese files has also been discussed, it is important to have an understanding of the manner in which the program directs the computer in its normal operation.

The CTC subroutine, the flow chart of which is shown in FIG. 5, performs logical operations when the computer recognizes either a digital input, such as in input from the keyboard of FIG. 2, or indication change. Thus, the computer normally traverses the loop, checking for the various possible inputs. There are two different modes of handling indication inputs from the field. In one mode, the computer can, through its communication sub-routine, sequentially poll each of the field stations and request it to transmit to the computer the status of the various switches and signals at that location. In this mode of operation, the computer receives, in order, through the code system, status indications for each of the various switches and signals at each of the different field stations. The other mode of operation is for the field stations to transmit indications to the computer when, and only when, the status of one of its switches, signals, or track occupancy conditions changes. In this latter mode of operation, the computer receives indications from a field station only when one of the indications at that station has changed. Although either of these modes of operation can be employed, of course, the program which directs the computer would have to be slightly different for the different modes. Thus, in the polling or roll-call mode, the communication program is arranged to sequentially interrogate each of the field stations while in the latter mode no such sub-routine is required. Furthermore, in both modes, the indications received are not all necessarily new information, some may be the same indications that are already stored in the computer from a previous indication transmission. Thus, the indications received are applied to an indication input file where they are compared, on a bit-by-bit basis with the indica tions already contained in the indication file for that location. When a change is detected, the changed indication information is then stored in an indication change file for subsequent processing.

Although either of the two modes of operation can be successfully used, and both have respective advantages and disadvantages, the instant invention is disclosed with a program operating under the first mode of operation, that is, the polling mode. Concurrently with the communication system operation, the CTC routine shown in FIG. is performed. When neither a keyboard not indication change input is detected, the program simply loops repeatedly through the routine. The frequency at which the program is scanned is sufficiently high to permit at least one complete program scan between any two consecutive key actuations. The communication routine is interlocked with the running of the CTC routine in the following manner: When an indication change is detected, the information is stored in the indication change file. This file is checked by the CTC routine of FIG. 5 on each program scan. When the program has processed the indication changes, the indication change file is cleared so that a subsequentlydetected indication change can be inserted. If the communication system detects an indication change at a time when the indication change file is storing a previous indication change, the communication system ceases operating and waits until it can insert the lastfound indication change into the indication change file before proceeding to poll another field station.

Having explained the different items of information stored in the computer and their general location, it is appropriate to discuss the flow sheet of FIG. 5. FIG. 5 discloses a flow chart for the CTC sub-routine which handles the logical processes related to clearing signals, throwing switches, and keeping track of train positions such that an orderly routine is possible.

However, it is first necessary to understand what it is that the human operator will be performing and what the combination of computer system, communication system, and program will perform. The operator of the system, with the condition of each of the switches and signals and location of all trains in his territory available to him through the CRT display, and capable of transmitting controls to any of the switches or signals in the system through means of his control keyboard, is the originator of all control signals for the CTC system. By properly actuating a location number in his control keyboard, he can call upon the CRT display an illustration of the corresponding field station. For example, the display on the CRT 102 of the track layout for field station 41 (FIG. 8) will be accompanied by a display of the condition of the associated track switch, of the condition of the associated signal, and a display ofthe position of any trains at field station 41. With this information, the operator may then designate the switches to be thrown and the signals to be cleared as required by the demands of traffic. It is at this point that the combination computer system and program goes into operation in order to test whether or not the controls requested are proper under the circumstances as reflected by the information stored in the internal memory.

Referring to FIG. 5, this drawing shows the CTC routine for interpreting keyboard inputs and indication changes and providing an output to the communications system to properly control the respective switches and signals at the various field stations. This routine can be executed either periodically, i.e. for instance, every milliseconds, or it can be executed on a freerunning or repetitive basis. In the latter event, as soon as one scan through the routine is ended, a subsequent pass is initiated. The first decision point 200 checks whether a transfer to or from bulk memory is in progress: if it is, the rest of the program is inhibited until the transfer is completed. Decision point 201 determines whether a push-button entry from the keyboard has been detected. If it has, then decision point 202 determines whether or not the decision table related to the selected group is in the internal memory; if not, the indicated transfer is made. The next program function 203 is to find the decision table address which corresponds to the push-button input. The manner in which this function is accomplished will be described in relation to the decision tables which are found in FIG. 7.

Once the address of the decision table has been located which corresponds to the keyboard input, the decision table processor at 204 takes over and performs the logical functions necessary to determine whether or not the selected controls are permissible. The reentrant loop 205 provides a means whereby the program can perform this process for a number of pushbutton entries prior to entering the next step of the program. When a code start is detected function 206 clears the push-button entry flags and the location number inasmuch as they are no longer needed. The entry flag is a reference to a bistable device associated with the keyboard which is set when the keyboard has input information to transmit to the computer. Once this input has been handled, as explained above, the flag is cleared.

If, when searching for the address of the decision table input which corresponds to the keyboard input, no address is found, then the functions 204 and 206 are not performed as no valid input is awaiting processing.

In the event that there are no push-button entries, or that no entry corresponds to an address of the decision table, or once the processing of the entries has been completed, the program next determines, at decision point 207, whether the code system is busy so as to provide the capability of transmitting controls. It will be recalled that the code system continually polls the field stations for transmission of indications to the central office. When the transmission of controls is taking place, the address associated with the field station which is to receive the controls is contained in a register. If no such communication is taking place, the register is cleared. The decision point 207 then merely requires the computer to check that particular register for the presence of an address. Subsequent to each indication communication with any field station, there is a period of time during which no communication takes place, and during this time the code system is not busy. If that is determined to be the case, the next decision point 208 determines if any code starts are wanted.

When the operator has completed punching out his requested controls on the keyboard, the last key is a code start key to indicate that he wants the controls transmitted and he is finished with that particular location. Thus the decision point 208 determines whether or not the code start button has been pushed. If it has, the next function 209 is to generate the location number associated with the field station to which the controls inputted at the keyboard are to be transmitted. The next decision point 210 determines whether the decision table associated with that location are in the internal memory of the machine. if it is not, the appropriate transfer is made and at function 211 the decision table takes over to determine switch correspondence. This is another decision table function and will be explained in relation to FIG. 7 which illustrates the details of the decision table.

if switch correspondence is determined then, at function 212, the code system's busy indicator is set and the controls resident in the control tile for this location are subsequently outputted to the field. The manner in which the controls are stored in the control file will become clear with detailed discussion of the operation of the decision table with respect to functions 204 and 211. If there are no code starts wanted or there is no switch correspondence, or after the code system busy indicator has been set, decision point 213 in the program determines whether any indications have changed. if they have, decision points 214 determines whether the decision tables associated with the locations where the changed indications originated from are in the internal memory. If they are not, the appropriate transfer is made from the bulk memory.

As in the case of function 203, once the decision tables are in the internal memory of the machine, the next function to be performed is to determine the address of the decision table associated with the changed indication, for processing. The manner in which this is handled, as in the case of function 203, will be explained in relation to FIG. 7 with respect to the decision table and its operation. When the associated address has been located, the decision table processor, at function 216, performs the necessary logical operations upon the changed indications. The re-entrant loop 217 is provided to handle all of the changed indications at a particular location. When each of these has been handled and no further change indications are found, the program goes on to function 218 to determine if the code system is busy. This function is similar to the code system busy check at function 207.

In order to understand the next function 219 determining whether an answer back has been received, the following background is necessary.

There is a significant difference in operation when a signal is to be cleared over a switch which is lying properly, as compared to clearing a signal over a switch which must be thrown. For instance, if a route is to be set up in a north-bound direction for a train which is to travel over the associated switch in the normal position, and the switch is in that position, then the only action necessary is to clear the associated signal. However,

under the same conditions, when the switch is, at the time of initiation of the control, in the reverse position, then not only must the signal be cleared, but the switch must also be thrown. It should be understood that the apparatus at the field station will prevent the actual clearance of the signal in the field when the switch is not in the proper position. This is so regardless of the control sent out from the control office. Therefore, from a safety point of view it will be quite appropriate to transmit both the switch throwing control and the signal clearing control at the same time inasmuch as the signal will not be cleared until the switch is properly thrown. However, if for some reason the switch is not thrown then, of course, the signal will not be cleared and if the train approaches the signal it will have to await the throwing of the switch and the subsequent clearing of the signal.

Another fashion of handling this situation when both signal and switch controls are necessary for aligning a route, is to inhibit the transmission of the signal clearing control until the switch has actually been thrown and such an indication is received at the control office. At that time, then, the signal clearing control can be transmitted. It should be clear that either method is acceptable from a safety point of view inasmuch as the apparatus at the field stations themselves ensure safe operation. However, the present system employs the latter mode of operation, i.e., it will not transmit a control clearing signal unless the switches are in correspondence. The manner in which this is effected will be made clear during the discussion of operation of the decision tables per se but at this point it is sufficient to note that the functions 211 and 222 are decision table processor functions which determine switch correspondence, i.e., the switch actually being in the position it is called for.

As has been explained, the answer back file is loaded when a switch indication change is detected with reference to a location having a delayed code start request pending. When an answer back is detected at function 219, the location number is generated for the relevant location at function 220. Any necessary decision table transfer is made at decision point 221. Function 222 is a switch correspondence check which will cause a control code transmission at 223 if correspondence is detected. if no correspondence is detected, no changes are made in the various files. After the control code transmission or if no correspondence is detected the main scan is completed.

Although the explanation of FIG. 5 is now complete, it is still necessary to explain how the decision table processor functions to determine on a logical basis the permissibility of a particular control inputted to the keyboard. The particular decision table processors come into play at four separate locations in the flow diagram of FIG. 5. Functions 203 and 204, in response to a keyboard input, first determine the address of the appropriate decision table input and then check the permissiblity of this control. Functions 215 and 216 respond to an indication change, first to locate the address of the appropriate decision table and then process that information as necessary. The functions performed by the processors at 211 and 222 are identical; in both cases the decision table determines whether the switches are in correspondence so as to enable the transmission of a signal control.

As has been explained above, in response to depression of the keyboard by the operator, the digital input file is filled in accordance with the particular keys depressed. Function 203 merely counts the non-filled locations in the digital input file and determines which of the digital input file locations are filled in response to a key depression. The count at the time a non-zero location is detected determines which of the keys had been depressed. For the location 41 illustrated in FIG. 8 which has one switch and one signal, there are eight possible digital inputs.

Once the digital input is determined, by the process discussed above, the input determines the appropriate address, in the decision table, to process the initiation of that control. The possible digital inputs are "maintainer-call on push-button, "maintainer-call off pushbutton", "switch 1 normal push-button", switch 1 reverse push-button", signal 1 stop push-button, signal 1 north push-button", signal 1 south pushbutton, and code start push-button. The decision table incorporates a subroutine for each of these possi ble keyboard inputs as well as a subroutine for each of the possible indication change inputs and a further subroutine to check the switch correspondence. Each decision table is tailored for the particular field location it is related to. For instance, while the location 41 has only one switch and one signal and therefore need only provide for the eight possible keyboard inputs relating to that switch or that signal, other locations with more switches and more signals would have a more extensive decision table based upon the track configuration for that location and the associated adjacent locations.

As the explanation of the particular decision table subroutines proceeds it will be seen that each of the subroutines comprises either decision points or the setting or resetting of various memory locations. The decision points relate to the status of the control and indication files which reflect the controls which are to be sent and the status of the equipment in the field. As has been explained with reference to FIGS. 6A and 6B, the particular bit location at which information is stored is determined by the particular field location. That is, a particular bit location for one field location may store a track occupancy indication whereas the same bit location for another field station may store a signal indication. In the same manner, the bit locations in the control file are also dependent upon the particular field station to which they refer. The decision table then incorporates not only the particular logical queries which are to be asked, but also indicates the location in memory at which the answer will be found. Because of the answer-back mode of operation, switch and signal call (controls) information will be located in the output file. Track switch requests relate to keyboard inputs and will be found in the digital input file. A wayside signal control inputted at the keyboard will be found in the digital input file and is termed a signal flag. The signal request, that is, a signal control which has been found permissible but not transmitted for lack of switch correspondence will be found in the software flag file.

The decision table operation makes use of four dif ferent operations. The first is a branch which is capable of branching to either of two different locations, the first being an absolute location specified by the instruction, the second being to branch to a location a specified number of memory locations from the existing location. The set instruction causes the machine to put a l at a particular bit location, the reset instruction causes the computer to clear or reset a particular bit location. The fourth instruction is a test instruction which identifies a particular bit to be tested and carries with it two alternative subsequent instruction addresses. If the bit is set, one of these instruction addresses is effective, while if the bit is not set, the other instruction address is effective.

Since the different field locations are not independent of one another, that is, whether or not a particular signal can be cleared or a switch thrown depends not only upon the status of the particular field location at which that switch or signal is located, but also depends upon the status of adjacent field locations, the decision table makes reference not only to the various files associated with the particular location to which the control will be directed, but also makes reference to the files associated with adjacent locations. With this background in mind, and assuming a digital input caused by the depression of the maintainercall on push-button, the decision table will call up the subroutine shown in FIG. 7A.

The first step in this subroutine 225 is to reset the call designated as the "maintainer-call-off". This is a reference to the control file and is merely designed to maintain logical consistency inasmuch as we will be setting the call designated as the maintainer-call-on" in step 226. This will result in, for instance, putting a l in bit location 11 and a 0 in bit location 12, in FIG. 6B. The third step of this subroutine 227 is to reset the "maintainer-caIl-on push-button flag. This has reference to the digital input file, which initiated the subroutine. Thus, at this point, the control file has been set for a transmission to the field of a maintainer call on call as indicated by the keyboard input. The subroutine is now complete and step 228 returns through re-entrant path 205 to search for further inputs from the keyboard.

FIG. 7B shows a subroutine if the maintainer-callof push-button had been depressed, including steps 229, 230, 231 and 232. This subroutine performs the exact opposite of the subroutine shown in FIG. 7A, setting bit 12 and resetting bit 11 in the control file FIG. 6B for subsequent transmission to the field station.

FIGS. 7C and show the subroutine performed if a switch position push-button had been actuated. The program checks to see whether the switch had been locked or blocked and, if not, sets the appropriate switch call in the control file and resets the push-button flag in the digital input tile and then returns to the main program, its function having been accomplished.

FIG. 7E shows the program subroutine for handling a north signal pushbutton request, that is, a request by the operator to clear the north signal. The first decision point 233 is to check whether the track within that lo cation is occupied. If it is, then the signal will not be cleared, the subroutine jumps to point A in the program, resetting the signal north push-button flag at 247, and returns through 248 to the main program. However, if the track is not occupied, the program next determines at 234 whether a south signal had been requested for that location. If it had, the program again jumps to point A. If no south signal had been previously requested, the program determines at 235 whether the switch is called normal and, if it is, then determines at 244 whether the main track between locations 40 and 41 is blocked. If it is blocked, the program then jumps to point A again. If it is not blocked, the next decision point 245 determines whether the traffic on the main track between locations 40 and 41 is north. If it is, the north signal request is set at 246 and the north signal push-button flag is reset at 247, and the program returns to the main through 248. If the machine has not determined that the traffic on the main track between locations 40 and 41 is north, then the next decision point 246 is to determine whether switch 40, i.e., the switch at location 40, is called reverse. If it is, the next decision point 250 determines whether switch 40 is in the reverse position and, if it is, then the main track between locations 40 and 41 has its main traffic set north at 253 and its main traffic south reset at 242. The program then sets the north signal request for location 41 at 246, and proceeds through the program from point A. This portion has, in effect, determined that the switch at location 40 is in the reverse position, thus any traffic travelling south from location 39 would be shunted onto the siding and, therefore, with the switch at location 41 in the normal position, the signal at location 41 can be cleared north safely.

If, on the other hand, switch 40 is not called reverse, the program determines at decision point 249 whether a south signal is requested at location 40. lf it is, then the north signal at location 41 cannot be safely cleared and the program jumps to point A resetting the north signal push-button flag at 247 and returning to the main program through 248. if switch 40 was not called reverse and there was no south signal request for signal 40, then the program determines at 250, if switch 40 is actually in the reverse position; if it is not, the program then determines at 251 if 40 south approach is indicating an approach. If it is, again, the north signal at location 41 cannot be safely cleared and thus the program returns to reset the north signal push-button flag at 247 and returns to the main program through 248. If, however, the 40 south approach is not stuck, then it is safe to clear the north signal at location 41 and thus the program resets at 252 the main track between locations 40 and 41 as south and sets at 253 that traffic as north, also sets the north signal request at 246, resets the north push-button flag at 247, and returns to the main program at 248.

If switch 41 had not been called normal, the program determines at 236 if the switch was called reverse; if not, the program jumps to point A since the switch had been called neither reverse nor normal and the signal cannot be cleared. If the switch was called reverse, the next decision 237 point checks whether the traffic on the siding between locations 40 and 41 is north. If it is, the signal can be safely cleared as above. However, if it is not, the program determines at 238 ifthe switch at location 40 is called normal. If it is, the next decision point 240 determines if the switch 40 is actually normal; if it is, then the signal can be safely cleared. Therefore, the 40-41 siding traffic south is reset at 242, the 40-41 siding traffic north is set at 243 and the signal 41 north request is set as before. In effect, the program has determined that with the switch at location 41 in the reverse position and the switch at location 40in the normal position any southbound traffic coming from location 40 will travel on the main track and thus the north-bound traffic travelling on the siding track can be safely accommodated.

If switch 40 was not called normal, the program then determines at 239 if the 40 south signal had been requested. lf it has, then the north signal cannot be cleared for the siding track and thus the program jumps to point A to reset the north push-button flag without setting the north signal request. if no south signal had been requested for location 40, the program next determines at 240 if the switch at location 40 is in a normal position. If it is not, the program must next determine at 241 if the 40 south approach is stuck, and if it is, it again jumps to point A in the program. If the 40 south approach is not stuck, then, notwithstanding the fact that the switch 40 is not in the normal position, there is no train which has accepted that signal and therefore clearing the north signal at location 41 to route traffic to the siding will be proper. Therefore, the siding between locations 40 and 41 has its traffic set north at 243 and its south traffic reset at 242. The signal request is then set at 246, the push-button flag reset at 247, and the program returns to the main through 248 having completed its function.

Assuming the signal south push-button had been depressed, the subroutine shown in FIG. 7F will determine the propriety of clearing the signal south with respect to the conditions at locations 41 and 42. Location 42 is relevant inasmuch as that is the next-adjacent section in the route. The first decision point 254 is to determine whether track section 41, adjacent the switch at location 41, is occupied. If it is, the program skips to point A to reset the south signal push-button flag 275 and return through 276. In effect, the program has determined it is not safe to clear the south signal at location 41 as the track adjacent the switch at location 41 is occupied. The push-button flag in the digital input file has been reset at function 275 but nothing further is accomplished and therefore the signal will not be cleared. If, however, the track adjacent the switch at location 41 was not occupied, decision point 255 determines whether the main track between locations 41 and 42 is blocked. If it is, again, the south signal at location 41 cannot be cleared, and therefore the program again skips to point A shown in FIG. 7F. If, however, the track is not blocked, decision point 256 determines if the main traffic between locations 41 and 42 is south.

If it is, then the signal can be safely cleared and the program skips to function 274 to set the 41 south signal request, in the flag file, and resets the signal south pushbutton flag in the digital input file at function 275 and then returns through function 276. Assuming, however, that the traffic between locations 41 and 42 had not been determined as south, then decision points 257 and 258 determine if the track between locations 41 and 42 is occupied. If both of these decisions are positive, then that track is occupied and the program again steps to point A to refuse the signal south request. If, however, either one of these is not positive, then the program determines, at decision point 259, if the 42-1 track is occupied. This has reference to the main track at location 42. If this track is occupied, then again the program skips to point A and refuses to clear the signal 1 south. Assuming, however, that it is not occupied, then decision point 260 determines whether the switch 42-2 is in the reverse position. This switch is identified in FIG. 8 as 42-2. If this switch is in the reverse position, then decision point 261 determines if the siding track at location 42, that is, track 42-2, is occupied. If it is, then the signal south cannot be cleared as, with switch 42-2 in the reverse position, the south traffic would be shunted onto the siding. Occupation of the siding therefore prohibits clearing the south signal under these conditions and the program skips to point A. Assuming, however, that either the switch 42-2 is not in the reverse position or that the track 42-2 is not occupied, decision 262 then determines if the switch 42-2 is called normal. If it is, then a decision point 263 determines if switch 42-1 is called reverse. Switch 42-1 is so designated in H6. 8.

Although there are four switches at location 42, they are controlled as two units. Only two situations can occur: either the location is treated as a siding as locations 40 and 41, or it is treated as a cross-over in which case, for north traffic, switch 42-1 would be reversed as would the next switch in the north direction, whereas the third switch in that direction would be normal.

If traffic were in the southbound direction then, as a cross-over, switch 42-2 would be reverse, the next switch in the south direction would be reverse, and the next-following switch in the south direction would be normal. Therefore, identification of two switch positions is sufficient to describe the field conditions. Therefore. if decision point 263 determines that switch 42-1 is not called reverse it must determine, at decision point 264, if the 42-1 north signal is requested. If it is, then of course the south signal at location 41 cannot be cleared as a northbound train will be coming through on the main track. Therefore, the program skips to point A and refuses the south signal request. If, however, switch 42-1 is either called reverse or there is no 42-1 north signal request, then decision point 265 determines if switch 42-1 is reverse. If it is, and if, as had been previously determined in this leg of the program, that switch 42-2 had been called normal, then it is appropriate to approve the signal request and therefore function 272 resets 41-42 traffic as north, function 273 sets 41-42 traffic as south, function 274 sets 41 south signal request in the flag file, and function 275 resets the signal south push-button flag in the digital input file. Assuming, however, that switch 42-1 was not in the reverse position, then it is necessary to determine if the 42-] north approach is stuck. If it is, then it would not be appropriate to clear the south signal at location 41 and the program skips to point A to refuse the request. However, if the 42-1 north approach is not stuck as determined at decision point 266, then it is appropriate to clear the south signal at location 41 and the program accomplishes this through functions 272 through 276.

This portion of the program was entered when decision point 262, determined at switch 42-2, was called normal. If, however, switch 42-2 is not called normal, then decision point 267 determines if switch 42-1 was called normal. If it is, then decision point 268 determines if the 42-2 north signal had been requested. If it has, it would obviously be inappropriate to clear the south signal at location 41 and the program refuses this request by skipping to point A. If the 42-2 north signal was not requested, then decision point 269 determines if the 42-2 north approach is stuck. If it is, even though the north signal at 42-2 has not yet been requested, it would be inappropriate to clear the south signal at location 41 and thus the program skips to point A, refusing the request. If, on the other hand, neither the 42-2 north signal is requested nor is the 42-2 north approach stuck, then it is appropriate to clear the south signal at location 41 and this is accomplished as before through functions 272 through 276.

If, however, decision point 267 determined that switch 42-1 was not called normal, then decision point 270 determines if the 42-1 north signal had been requested. If it had, the program skips to point A, refusing the request. Decision point 271 determines if the 42-1 north approach is stuck which would be another reason for refusing the south signal request at location 41. If it is, the program again skips to point A and refuses the request. If decision points 270 and 271 determine that the north signal at 42-1 had not been requested and the north approach at 42-1 was not stuck, then it is appropriate to clear the 41 south signal and this is again accomplished through functions 272 through 276.

Thus, the routine shown in FIG. 7F determines, based upon the conditions at location 41 and 42, if it is appropriate to clear the south signal as requested. If it is, the 41 south signal request is set in the flag file and the flag related to this signal south in the digital input file is reset. As has been explained above, however, the control file is not changed inasmuch as switch correspondence would have to be checked before clearing the signal in the field.

If it was the signal stop push-button which had been depressed, the address located at function 203 in FIG. 5 would refer the program to the subroutine shown in FIG. 7G. This subroutine would ensure a signal stop call by resetting the north signal request 280, resetting the south signal request 281, resetting the north signal call 282, and resetting the south signal call 283. As has been explained above, of course, the signal requests which are reset by 280 and 281 appear in the flag file and the calls reset at 282 and 283 appear in the control file. Also, at 284 the signal stop call in the control file is set, and the signal stop flag in the digital input file is reset at 285. The subroutine is completed at 286 and exits to the main routine.

The remaining possible digital or keyboard input is a code start request. This merely sets a code start request in a code start file with the address of the appropriate field location for which the code start is requested. Inasmuch as the code start is the last key depression for the transmission of a control for any one location, this key depression, after setting the code start request, clears all entry flags in the digital input file and also clears the location number initially inserted by the operator and, as shown in FIG. 5, the routine proceeds with function 207.

As we had previously indicated, whereas a track switch push-button input, which proved permissible by the decision table check resulted in a switch call directly in the control file, a wayside signal push-button keyboard input which proves permissible, results not in an input to the control file but an input to a flag file indicating a signal request. Prior to the time the signal request is transmitted to the field station to operate the appropriate signal, switch correspondence must be determined. The functions 211 and 222 in FIGS perform this operation and now, with reference to FIG. 7H we will explain how the switch correspondence subroutine and the decision table perform this function.

The decision points 290 through 293 determine whether the switches are in correspondence. If the switch is called normal and it is normal, decision points 290 and 291 are effective to step the program up to decision point 294. If the switch is called reverse and it is reverse, decision points 292 and 293 will again step the program up to decision point 294. If the switch is neither called normal nor called reverse then, regardless of the switch condition, no signal will be cleared as the program steps to point B shown in FIG. 7H. If the switches are not in correspondence, decision points 291 or 293 will determine this and step the program to point A shown in FIG. 7H.

Asuming, however, that the switches are in correspondence with the positions that are called for, decision point 294 determines if a north signal has been requested. This, as explained above, involves a reference to the flag file to determine if a signal has been requested and if such request is permissible as determined by the operation of the routine shown in FIG. 7E. It will be recalled that successful completion of this subroutine sets the north signal request at function 246. If such a north signal had been requested and the switches had been in correspondence, then the south signal call is reset and the north signal call is set by functions 298 and 299. Again, setting a signal call refers to setting a particular bit location in the control file for output to the field. The same sequence then resets the signal stop call, resets the delayed code start request, resets the code start request, and returns through functions 300, 301, 307 and 308. Of course, at this point, the code system is set busy at function 212 in FIG. and the controls in the control file for that location are available for transmission to the field station. lfa north signal had not been requested, then decision point 295 determines if a south signal had been requested. If it had, functions 296 and 297 reset the north signal call and set the south signal call. The program then runs through functions 300, 301, 307 and 308 as before.

If, however, the switch was not in correspondence with the called-for position, then decision point 302 determines whether or not this is a delayed code start request. At this point, it should be explained that a delayed code start request is merely a flag in the code start file which indicates a code start had been requested but the switches were not yet in correspondence. As such, every time the program goes through function 208, in FIG. 5, such a delayed code start would be detected and, at that time, if the switch was then in correspondence, the controls would be outputted. If the decision point 302 determines this is not a delayed code start request, then such a flag is set by function 303 to indicate that there is a signal request but that the switches are not yet in correspondence and therefore the signal call cannot be set. To ensure that the signal is not cleared, then functions 304, 305 and 306 reset the north signal call, reset the south signal call, and set the signal stop call, and then the program steps through functions 307 and 308 as before. If, however, a delayed code start request had already been set as determined by decision point 302, the program merely returns through function 308. Thus, the switch correspondence routine illustrated in this figure determines whether the switches are in the proper position for the signal requests to be transmitted to the field.

There are ten indications that are transmitted from location 41 to the central office and, therefore, only ten possible indications which can change. These are switch 1 normal, switch 1 reverse, switch I lock, track occupied, main track north, main track south, signal 1 clear, signal I north approach, signal 1 south approach, and track north on the siding. Function 215, in FIG. 5, is similar to function 203 in FIG. 5 and merely counts the non-set bits in the indication change file and keeps track of the count. When the count stops, indicating a set bit, this count is indicative of the indication which caused the indication change file to be loaded and selects a particular subroutine in the decision table for processing. Each of the indication changes except the track occupancy section change causes only its indication change flag to be reset, thus clearing the indication change file. Of course, the new indication is also transmitted to the indication file to keep that file up-to-date. However, the track occupancy change causes the routine of FIG. 7.! to be performed. The first function of this routine is to reset the change flag, function 310, which clears the indication change file. Decision point 311 then determines whether or not the track section is occupied: if it is not, the routine is completed and a return is made through function 316. However, if the change was from an unoccupied to an occupied section, then functions 312 through 315a are performed to reset the north and south signal requests, north and south signal calls, and set the signal stop call.

In effect what has happened is that the track section, previously unoccupied, is now occupied. As such, all signal requests or signal calls must be cancelled since the occupied track section prohibits the clearing of any signal through the same section.

As has been indicated with reference to FIGS. 1 and 3, associated with the central office equipment is a CRT display unit for displaying the conditions of the system in the field. Of course, if a CRT display is not desired, standard panel displays can be operated as shown for instance in US. Pat. No. 2,967,232. However, the CRT display enables a compact unit to display all the necessary information. Furthermore, applicants system employs at least two different types of CRT displays. The first gives an overall general picture of the traffic layout without detailed information as to specific positions of switches and signals and train indications. When an operator desires to work with a particular field station, he first keys in the number of that location to cause the second CRT to display that location only. This second display includes all the detail that is necessary for proper operator action in response to changing conditions in the field. Thus, the display will indicate not only switch positions, signal conditions, but also track occupancy. To effect this, a standard CRT display is utilized which is capable of displaying a specific number of lines, each line consisting ofa predetermined number of character positions. The cyclic storage device associated with the CRT display stores the library of characters that is capable of being displayed and it also stores control codes to synchronize the CRT scan with the reading of the characters, one at a time, from the storage device. In this manner, the characters can readily be regenerated on the CRT screen as they are cyclically read from the display storage unit.

The particular CRT display used with applicants invention generates a track plan by the use of five different types of characters. Each character is a straight line, the first being a line running up and to the left, the second a line running down and to the left, the third a line running up and to the right, the fourth a line running down and to the right and the fifth is a horizontal line. It will be readily apparent that any track plan can be produced by the use of these five characters. Thus by specifying the particular line of the scan, and particular character in the line and which of the five characters is to be written, any track plan can be written on a CRT screen.

Each of the locations has associated therewith a number identifying the type of track plan at that location. Thus, by merely specifying the number for the different locations, the CRT will display, in the cyclically regenerated fashion, a track plan for that location.

In addition, the display must show a number of switches and there are four different types of switches, as shown in FIG. 9A. Thus, by specifying the starred point of the switch shown in FIG. 9A and the type of switch, there being four types, every possible switch is completely specified. In addition, the CRT is also capable of displaying a double instead of a single line. Thus, the double line at 320 in FIG. 98 indicates that the switch illustrated was in the normal position, whereas the double line 325 in FIG. 9C indicates the switch in 

1. Centralized traffic control apparatus for governing from a central office a plurality of groups of track switches and signals disposed along a stretch of railway track and comprising, a plurality of switching means for designating a selected control for any track switch or signal in any selected group of said track switches and signals comprising a field station, indication storage means responsive to the conditions of said track switches and signals and also to the occupancy of the associated trackway at said field stations, electronic digital computer means including a central processing unit and means for storing a program which comprises a plurality of sub-routines each associated with a corresponding one of said field stations, means responsive to the designation of a particular field station as the intended recipient of a control for selecting the subroutine associated with said particular station from said program storage means and being further responsive to the designation of a particular track switch or signal at said particular field station for rendering effective the portion of the sub-routine associated with said particular track switch or signal, and means controlled by the portion of the program sub-routine rendered effective in response to the designation by said switch means of a selected control for a specific track switch or signal to interrogate on successive steps programmed addresses of said indication storage means to determine whether the conditions of all of the track switches and signals relevant to said preselected control are such as to render said control permissible, and means for transmitting only a permissible control as determined by said controlled means to the field station intended to receive that control.
 2. The apparatus of claim 1 wherein said indication storage means comprises, a first indication file for temporarily storing the indications received from a field station and having a capacity to store the maximum number of indications contemplated to be received from any single field station, a second indication file for storing the indications representative of the conditions of all the devices at all the field stations controlled from said control office, an indication change file, means effective upon the receipt of any new indication from a particular field station for comparing the thus received indications with those stored for that station in said second indication file and for storing in said indication change file only those indications received from said particular field station which are different from those which are then stored in said second indication file, and means for altering the indications in said second indication file in accordance with the changed indications stored in said indication change file.
 3. The apparatus of claim 1 wherein said indication storage means includes at least one cathode ray display tube, and means for graphically displaying on said cathode ray tube the indications for any said field station as stored in said indication storage means.
 4. The apparatus of claim 3 which further includes a manually operable keyboard, means for storing for each field station the track layout at each of the field stations and also the location of the track switches and signals at each respective field station, means governed by said keyboard for displaying on said cathode ray tube the track layout and locations of track switches and wayside signals at any selected field station, said indication storage means controlling said cathode ray tube to provide a distinctive display in association with each graphical representation therein of a track switch or wayside signal in accordance with the then-existing condition of such switch or signal as then stored in said indication storage means.
 5. Centralized traffic control apparatus for governing from a central office a plurality of field stations disposed along a stretch of railway track each comprising a group of track switches and signals, said apparatus comprising, a master control panel at the central office including a changeable display means for diagrammatically displaying the track layout at any selected field station, the locations of the track switches and signals at said selected field station, and for displaying also the operated conditions of said track switches and signals in the selected field station, said master control panel further including a plurality of manually operable switch means for designating a selected control for any switch or signal at a selected field station, indication storage means responsive to the conditions of said track switches and signals at said field station and to the occupancy of the associated trackway, control storage means responsive to the conditions of said manually operable switch means, program storage means for storing a predetermined program for each of said field stations which is responsive to the designation of a particular field station by said manually operable switch means to select the respective program for such designated field station, electronic computer means responsive jointly to the selected program of said program storage means, to the operated positions of said manually operable switch means, and to said indication storage means for determining on the basis of the then-existing conditions of the track switches and signals at selected field stations whether the then-designated control for said particular station is a permissible control, and means for transmitting a code from said central office to said particular field station representative of said permissible control.
 6. Centralized traffic control apparatus for governing from a central office a plurality of groups of track switches and signals disposed along a stretch of railway track each of which groups comprises a respective field station, said apparatus comprising, a master control panel at the central office including a changeable display means for diagrammatically displaying the track switches and signals at any selected one of said field stations and for displaying also the operated conditions of said track switches and signals as well as the occupancy of the associated trackway at the selected field station, said master control panel further including a plurality of manually operable switch means for designating a selected control for any switch or signal at the selected field station, indication storage means responsive to the conditions of said track switches and signals at said field stations and also the occupancy of the associated trackway, control storage means responsive to the conditions of said manually operable switch means and having at least one bit storage for each track switch or for each signal at each field station, means responsive to the designation of a new control by said manually operable switch means for controlling said display means to display the newly-designated control while concurrently indicating also that such newly-designated control has not yet become effective at the designated field station, program storage means for said field stations which is responsive to the designation of a particular field station by said manually operable switch means to select the respective program for such field station, electronic computer means responsive jointly to the selected program of said program storage means, to the operated positions of said manually operable switch means, and to said indication storage means for determining on the basis of the then-existing conditions of the track switches and signals at selected field stations whether then then-designated control For said particular station is a permissible control, means for transmitting a code from said central office to said particular field station representative of said permissible control, means for transmitting an indication code from each field station to said central office for storage in said indication storage means, and means responsive to the entry into said indication storage means of an indication code for said particular field station which differs from that previously stored therein for controlling said display means to display an indication representative of the operated conditions of said track switches and signals at said particular field station.
 7. A method for the centralized traffic control from a central office of a plurality of groups of track switches and signals disposed along a stretch of railway track through the use of a computer which has stored in its memory a program comprising a plurality of sub-routines, each of said sub-routines associated with one of said plurality of groups of track switches and signals and comprising the steps of: storing the operated conditions of the track switches and signals in said memory, selecting a particular field station to which a control is to be transmitted, selecting the track switch or signal control which is to be transmitted to the particular selected field station, selecting from said stored program the particular sub-routine which is associated with the particular selected field station, selecting from the particular selected subroutine the portion thereof which corresponds to the desired track switch or signal which is to be controlled, interrogating said memory on successive steps of the selected portion of the selected subroutine at called for memory addresses to determine that all of the indications relevant to the intended control are such as to render said control permissible, and transmitting a control deemed to be permissible to the relevant field station.
 8. The method of claim 7 which further includes the steps of: receiving data from each of said field stations representative of the conditions of the track switches and signals at said field station and also of the occupancy conditions of associated track sections, comparing the received data with the already stored data in the memory to determine if there is a change in such data, and altering the data in the memory in accordance with the newly-received data only when the comparison step establishes that an indication change has occurred.
 9. A method of operating a computer controlled railroad traffic control system including a central processing unit and associated memory, a CRT display for displaying railroad field conditions, a communications link between said central processing unit and the railroad field, and a keyboard for operator entry of selected controls, comprising the steps of: transferring to said CRT display railroad field indications for a portion of a railroad as stored in said associated memory in response to an appropriate operator request, storing controls selected by keyboard entries for processing, sequentially determining the permissibility of each selected control based on railroad field conditions as stored in said memory, and storing, for transmission over said communication link, only those of said selected controls which are determined to be permissible.
 10. In the method of claim 9 which includes the further steps of: monitoring new indications received from said communication link related to said railroad portion, again determining, from those previously determined impermissible controls, if any are now permissible in light of said new indications, and again storing for transmission over said communication link only those of said previously impermissible controls which are now permissible. 